build(assets): $refs under functionOptions cannot be relative to the document #1305
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes the issue with oas2/oas3-schema rules in Studio.
Checklist
Does this PR introduce a breaking change?
Additional context
Why is it broken?
Some time ago we switched from dereferencing to bundling strategy when resolving $refs in rulesets during the Spectral offline assets generation.
This had one unintended side effect - as of that change all $refs are scoped relatively to the whole document.
This causes troubles, since in certain cases such has we pass a portion of the entire ruleset.
Having rewritten inline $refs inside of functionOptions is not really desired, because we always pass a given portion of the ruleset, therefore the $refs won't be resolvable, and eventually Ajv will refuse to validate the document.
The following PR makes sure we bundle only external $refs, while all inline $refs are kept untouched.